Multicast data transfer

ABSTRACT

An edge router ( 6 ) for multicast data transfer comprises a cache ( 10 ). In response to a request for a file from a host ( 3   a ), the router ( 6 ) retrieves the file from a content provider ( 2 ). The file, comprising data packets A-G, is stored in the cache ( 10 ) before transmission to host ( 3   a ) to allow the receipt of requests for the same file from other hosts ( 3   b,    3   c ). A timer is activated to count down through a predetermined waiting period T. A file delivery group is defined, comprising host ( 3   a ). Any other hosts ( 3   b,    3   c ) located in the same cell as host ( 3   a ), requesting the same file during period T are added to the group. When a predetermined number of requests have been received or, alternatively, when the waiting period T expires, the file is retrieved from the cache ( 10 ) and forwarded to the hosts ( 3   a,    3   b,    3   c ), in the group.

FIELD OF THE INVENTION

The invention relates to the simultaneous delivery of information tomultiple hosts. In particular, the invention relates to an apparatus andmethod for transferring text, audio, video or other data to multiplehosts in a communication system.

BACKGROUND

Methods for transmitting data from a source to multiple users over anetwork fall into one of three categories. Unicast is a point-to-pointdelivery mechanism, where a source transmits a separate stream of datafor each user. The volume of data transmitted increases linearly withthe number of users, leading to the consumption of an unacceptably highlevel of resources where the number of recipients is large. Theremaining two categories define point-to-multipoint ormultipoint-to-multipoint delivery mechanisms. Broadcasting refers to thetransmission of data to all hosts on a network. While this may work wellin small networks, it requires the replication of a large number of datapackets when used in a wide area network with many users. Furthermore,this method can be wasteful where the data is not of interest to asignificant proportion of the recipients.

The third category is multicasting, which is the simultaneoustransmission of data to a select group of users. Multicasting hasparticular application in fields requiring streaming of content tomultiple users in real time, such as news feeds, online gaming, DigitalVideo Broadcasting (DVB) and videoconferencing. Overviews of thistechnique are given in “Multicast Networking and Application” by C.Kenneth Miller, Addison-Wesley 1988 [ISBN 0-201-30979-3] and in“Deploying IP MULTICAST in the Enterprise” by T. Maufer, Prentice HallPTR, 1998 [ISBN 0-13-897687-2]. The use of multicasting in a cellularradio access network is discussed in “Multimedia Broadcast/MulticastService”, 3^(rd) Generation Partnership Project Technical Specification3GPP™ TS 22.146 v1.0.0 2001.

FIG. 1 is a block diagram of a prior communication system 1, formulticasting information from a content provider, i.e., host 2, to aplurality of receiver hosts 3 via the Internet 4. For simplicity, thedata path 5 is depicted as extending directly from the content provider2 to a router 6 without intervening stages, such as other transmittersor routers, which may be located between these nodes. The data pathsleading from the content provider 2 to the receiver hosts 3 a-3 cdiverge at the router 6. Situations where this divergence include thosewhere the receiver hosts 3 do not belong to the same sub-network, wherethe receiver hosts 3 are served by different transmitters 7 or where theradio access network is not multicast enabled.

Instead of sending a separate stream of data packets A-D for eachindividual receiver host 3 a, 3 b, the content provider 2 provides asingle data stream 5. The data stream is replicated by amulticast-enabled edge router 6 wherever the paths to the differentreceiver hosts 3 a, 3 b diverge. The router 6 copies the incoming datapackets A-E, producing duplicate data streams 8 a, 8 b for transmissionto the receiver hosts 3 a, 3 b. As the content provider 2 transmits onlya single data stream 5, the use of its system resources and the networkload are reduced when compared with a unicast system. Furthermore, asthe transmission of replicated data is kept to a minimum, multicastingmay be used in wide area networks where broadcasting is unfeasible.

There are two types of multicasting services. In the first, a contentprovider has a reserved bandwidth for delivering a predetermined serviceto a group of end-users. The second type allows end-users to select theservice provided to them. In both cases, a user can receive themulticast stream of data by submitting a request to join the group bysending a message to the content provider in a format specified by theInternet Engineering Task Force (IETF). The user can leave the multicastgroup by submitting a corresponding request.

Multicasting is a suitable mechanism for providing end-users with acontinuous service and has limited applicability for “one-shot”transmissions. For example, a group of users may requite the delivery ofa file, for example, a multimedia clip, a web page, an mp3 file, adocument or a software module for an application or a game. Referringagain to FIG. 1, the users of receiver hosts 3 a, 3 b may both requestthe file, which comprises data packets A-E, from the content provider 2.As the data stream 5 is received by the router 6, the data packets arecopied and forwarded to a radio transmitter 7, which transmits theencapsulated data packets to receiver hosts 3 a, 3 b as data streams 8a, 8 b over a wireless network.

There are currently no provisions for allowing a host to join an ongoingfile delivery transmission, so a third host 3 c, requesting a file afterthe start of the transmission, would be excluded. Even if the third host3 c were to join the file delivery transmission, data packets A-C wouldhave been missed and it is probable that the user of host 3 c wouldrequire the entire file. This exclusion increases the likelihood that atransmission is received by a low number of recipients, or even a singleuser. Any requests submitted after the delivery of the data packets A-Ehas commenced are accommodated by repeating the file deliverytransmission, reducing the efficiency gain associated with the use ofmulticasting and increasing the use of the air interface bandwidth. Asthe use of the air interface in providing Internet type services rises,the efficient use of air interface bandwidth will become increasinglyimportant.

Prior systems have addressed these problems by defining a schedule offorthcoming transmissions. A user can subscribe to a delivery list for aparticular file, or set of files, and receive the relevant data at thenext scheduled opportunity. However, this delivery mechanism does notrespond directly to the user's requirements and is inflexible as, again,once the file delivery transmission has begun, any other further usersrequiring the same file are excluded and must subscribe to the nextscheduled transmission.

SUMMARY OF THE INVENTION

An object of the invention is to allow multicast file delivery in amanner that is more responsive to users' needs, with particularapplication to scalable multicasts, such as unidirectional IPmulticasts. The invention has particular advantages in systemscomprising a wireless communications network by reducing use of the airinterface bandwidth.

In a first aspect of the invention, a multicast-enabled network elementcomprises a first logical interface for receiving data from first host,a second logical interface for transmitting said data to one or morefurther hosts, a processor for defining a group comprising one or morefurther hosts, wherein a further host is added to the group in responseto the reception of a request and a cache, wherein the network elementis configured to store received data in the cache until a predeterminedcondition is met and, in response to the meeting of this condition, toforward the data to said further hosts in said group and the processoris configured to limit the group to further hosts situated at the samelocation.

In a second aspect of the invention, a method of file delivery over anetwork comprises the steps of receiving a request for the file from afirst host at a network element, retrieving the file from a second host,storing the file in a cache associated with the network element,defining a group including the first host, waiting for a period of timeuntil a predetermined condition is met where, if further requests forsaid file are received by the network element from one or more otherhosts before the period of time expires, said one or more other hostsare added to the group, and forwarding the file to the first host and toany other hosts in said group, wherein the group is limited to the firsthost and other hosts situated at the same location as the first host.

In a third aspect of the invention, a multicast-enabled network elementcomprises a cache, said network element being configured to perform thefollowing steps in response to a request for the delivery of a file froma first host: retrieve the requested file from a second host, store saidfile in said cache, define a group including the first host, delayforwarding the file to the first host for a period of time until apredetermined condition is met and, if further requests for said fileare received by the network element from one or more other hosts beforethe period of time expires, add said one or more other hosts to thegroup and forward the file to the first host and to any other hosts insaid group and is further configured to limit the group to the firsthost and to other hosts situated at the same location as the first host.

In a fourth aspect of the invention, a network element comprises firstreceiving means for receiving data from a first host, second receivingmeans for receiving a request from one or more further hosts, means fordefining a group of further hosts, wherein a further host is added tothe group in response to the reception of a request, forwarding meansfor forwarding said data to the further hosts and data storage means,wherein the network element is configured to store received data in thedata storage means until a predetermined condition is met and, inresponse to the meeting of this condition, to retrieve said data and toforward the data to the further hosts in the group.

The implementation of the invention in a network element at the airinterface, such as an edge router and the compilation of a group of filereceiving hosts defined in terms of their location, and in particularthe communications cell in which they are located, results in areduction in use of the air interface bandwidth.

The use of a predetermined condition relating to the number of requestsis intended to increase the likelihood that a given transmission will bereceived by more than one end user. The second condition assigns amaximum time period for the receipt of further requests. This places amaximum limit on the waiting time that may be experienced by a user, sothat, for example, a single user is not subjected to an indefinite delaybefore receiving the requested file. The maximum time period may befixed or may change dynamically in response to the requirements of theuser and/or the network.

Where a host submits a file request during this time period, the timeinterval between the submission of the request and the receipt of thecomplete file is considerably reduced, increasing the data transmissionrate perceived by such a user and thereby improving the quality ofservice.

BRIEF DESCRIPTION OF THE DRAWINGS

An embodiment of the invention will now be described with reference tothe accompanying drawings, in which:

FIG. 1 is a block diagram of a prior art communication system;

FIG. 2 is a block diagram of a communication system in accordance withan embodiment of the present invention;

FIG. 3 is a flowchart of a method according to an embodiment of thepresent invention as enacted by a router;

FIG. 4 is a block diagram of a router in accordance with an embodimentof the present invention; and

FIG. 5 depicts a mobile handset terminal for use according to anembodiment of the invention.

DETAILED DESCRIPTION

FIG. 2 depicts an embodiment of a communication system 9 for multicastfile delivery via the Internet 4 comprising a multimedia contentprovider 2, receiver hosts 3 a-3 c, a router 6, a radio transmitter 7and a cache 10. The data path 5 may include further elements, such asother transmitters or routers, which may be located between the contentprovider 2 and router 6. The data paths leading from the contentprovider 2 to the receiver hosts 3 a-3 c have a common portion 5extending between the content provider 2 and the router 6 and divergebetween the router 6 and the individual receiver hosts 3 a-3 c.

In this particular example, receiver hosts 3 a-3 c are mobile devicesbelonging to a cellular wireless DVB-T wide area network (WAN) and therouter 6 is an edge router, i.e. the last router before theair-interface in the file delivery path between the content provider 2and the receiver hosts 3 a-3 c. The router 6 forwards the multicast datato the radio transmitter 7, which sends the data to the receiver hostsover the wireless network in accordance with a suitable communicationprotocol. Suitable protocols include, but are not limited to, thefollowing protocols: Reliable Multicast Transport Protocol (RMTP),Reliable Multicast File Transfer Protocol (RMFTP), Asynchronous LayeredCoding (ALC), NACK-Oriented Reliable Multicast (NORM), Pragmatic GeneralMulticast (PGM), Tree Acknowledgement based protocol (TRACK), UserDatagram Protocol (UDP) and Unidirectional Hypertext Transfer Protocol(UHTTP). The Session Announcement Protocol (SAP) may also be used forsending service information to the receiver hosts 3 a-3 c.

An embodiment of the file delivery procedure followed by the router 6 isdescribed with reference to FIG. 3. Beginning at step s0, the router 6receives a request for a file from one of the receiver hosts, 3 a (steps1), which is situated at a first location. The request includes theaddress information for the receiver host 3 a, which is extracted by therouter 6 for use in addressing data packets and messages directed tothat receiver host 3 a.

The file may be, for example, a multimedia clip of a goal in a footballor hockey match. A number of end users, aware that a goal has beenscored through other information sources, such as a radio broadcast, maysubmit a request for a clip within a short time interval following agoal.

In this example, where the multicast enabled network is unidirectional,communications between the receiver host 3 a and the router 6 are madevia another network or communication system 11, such as the Internet ora cellular telecommunications network. The router 6 requests the filefrom the content provider 2 (step s2), which responds by transmittingthe file and an associated delivery message to the router 6. Thedelivery message includes information about the time the file wascreated and an indication of when it will next be updated.

In a conventional system, the router 6 would forward the data packetsA-G to the receiver host 3 a immediately and, once the transmission hascommenced, it would not be possible for any further receiver hosts 3 b,3 c, to join the multicast group and receive the data packets in thatfile delivery transmission.

To overcome this problem, the present router 6 receives the incomingdata from the content provider 2 (step s3) and stores it in the cache 10(step s4). The router 6 is configured to check that the file stored inthe cache 10 is the latest version available (step s5) using thedelivery message.

A file delivery list is defined comprising an entry corresponding to thefirst receiver host 3 a (step s6) and a timer t is initialised (steps7). The delivery of the file is then delayed by a time period T.Notification that the delivery of the file is expected to commence afterthe expiry of time period T is sent to the first receiver host 3 a. Thetime period T, which is divided into time intervals t1 (step s8), isallowed for the reception of any further requests for the same file fromother receiver hosts, e.g., 3 b, 3 c at the same location as the firstreceiver host 3 a, so that the receiver hosts 3 a-3 c can receive thefile in the same file delivery transmission. The time period T can befixed or may change dynamically, for example, so that a shorter periodmay be allowed as the number of received requests increases.Alternatively, the period T may depend on the time of the next update,as indicated in the delivery message, so that an updated file istransmitted to the receiver hosts 3, or on the size of the data file, sothat a longer period is allowed for larger files in order to increasethe likelihood of accommodating the requests of a number of end-userswith a single file delivery transmission.

If a further request is received (step s9), the router 6 determineswhether the receiver host 3 b submitting the request is situated at thesame location as the first receiver host 3 a (step s10). The router 6considers the receiver hosts 3 a, 3 b to be at the same location if theyare within an area covered by the same cell, the cell being defined ineither a bi-directional telecommunications network, where such a networkis used for submitting requests to the router 6, or the wireless DVB-Tnetwork used for file delivery. Where the host has access to data aboutits location, such as its DVB-T cell, it will include this informationin the request for the file for this purpose. If the receiver host 3 bis at the same location, it is added to the file delivery list (steps11). If not, the router 6 then adds an entry to a separate filedelivery list (step s12) corresponding to the location of receiver host3 b, setting up a new file delivery list if necessary. The receiver host3 b is then notified of the expected start time of the file deliverytransmission, i.e. the end of time period T.

Any further requests submitted by receiver hosts 3 b, 3 c at the firstlocation are handled by the router 6 and should not be directed to thecontent provider 2. However, the content provider 2 has the facility tocheck incoming requests as in case such a request is received. Thecontent provider 2 compares incoming requests and, if a request from ahost 3 b matches a previous request from another host 3 a in terms ofthe file requested and the location of the receiver host 3, informationrelating to the match is sent to the router 6, so that the host 3 b thatsubmitting the later request can be added to the file delivery list.

After a further request has been received, or after the expiry of timeinterval t1, the router 6 checks whether the number of requests enteredin the file delivery list exceeds a predetermined threshold N (steps13). If this condition is not met and the period T has not yet elapsed(step s14), the router waits for a further interval t1 (step s8). Thisprocess is repeated until one of these conditions is satisfied, i.e.,either the number of requests exceeds the threshold or the time period Thas elapsed.

The router 6 then retrieves the data packets A-G from the cache 10 (steps15). Where more than one end-user has requested the file, the router 6copies the data packets A-G, producing multiple data streams 8 a-8 c andtransmits them to the receiver hosts 3 a-3 c (step s16). The filedelivery procedure is then complete (step s17).

An example of a suitable router 6 is shown in FIG. 4. In addition to thecache 10, the router 6 comprises an input/output interface 12 forreceiving data from the content provider 2, input/output interfaces13-15 for communicating with the receiver hosts 3 a-3 c and a number ofother components connected by a data bus 16 as follows. A processor 17monitors and controls routing operations, including generating processesfor establishing and releasing connections between the router 6 andreceiver hosts 3 a-3 c. A memory facility 18 is provided for storing therouter application software. An address processor 19 extracts theaddress information from incoming data packets and uses this informationto determine how each data packet is to be processed, e.g., whether anincoming packet is a request for a file from a receiver host 3 a-3 c orfile data. Incoming file data is stored in the cache 10, although therouter 6 may also use an external buffer for this purpose. Requests areforwarded to a file request handler 20, which stores the address of thereceiver host 3 making the request in a file delivery list and managesthe copying of data packets A-G for transmission to the receiver hosts 3a-3 c. The file request handler 20 also controls any queuing processes,e.g. where a further request has been received after the file deliverytransmission has commenced. A clock 21 is associated with the processor17 for controlling the timer functions described above.

The receiver hosts 3 may be mobile telephone handset terminals 22, asshown in FIG. 5. The mobile telephone handset terminal comprises anantenna 23, a transceiver 24, a central processing unit (CPU) 25 and abattery 26. The transceiver 24, which is, for example, a GSM, GPRS, 3G,or similar bi-directional transceiver, is connected to the antenna 23and the CPU 25. Also connected to the CPU 25 are a receiver (DVB-T) 27,a keypad 28 and a display 29. The terminal 22 also includes otherconventional features of mobile telephone handsets, but these areomitted from FIG. 5 for the sake of clarity.

Where three receiver hosts 3 a-3 c receive the same file in a singlemulticast, the increase in efficiency over a unicast system, or theprior multicast system where the likelihood of a transmission beingreceived by a single receiver host 3 is significantly increased, isthree-fold, i.e., the data packets A-G are sent through the network 4once, instead of three times. However, as the transmission to the firstreceiver host 3 a has been delayed by time T, or by the time taken toreceive N requests, the user of host 3 a will perceive an associateddecrease in bandwidth, but this may be offset by “pooling” of thebandwidth available to the three receiver hosts 3 a-3 c

The performance of the present system is compared with a prior artsystem in the following example.

In the prior art system, the file is delivered to the first host 3 aimmediately and, as the subsequent requests from hosts 3 b, 3 c cannotbe met from the ongoing transmission, the other hosts 3 b, 3 c receivethe data in a subsequent file delivery transmissions. For example,downloading a file of 10 Mbits over a network with an availablebandwidth of 1 Mbit/s would take 10 s. A file delivery transmissionsending data to receiver host 3 a begins at 0 s. Requests from the usersof hosts 3 b and 3 c are submitted after the file delivery transmissionto host 3 a has commenced, at 4 s and 12 s respectively. The resultingwaiting times and perceived bandwidths in the prior system would be 10 sand 1 Mbit/s for host 3 a, 14 s and 700 kbit/s for host 3 b. The requestfrom host 3 c would be received after the second file deliverytransmission, to host 3 b, has started, and so would be queued until athird file delivery transmission could begin. Host 3 c would thereforeexperience a waiting time of 18 s and perceive a bandwidth of 550kbit/s. Therefore, under the prior system, the three hosts 3 a-3 c wouldperceive an average bandwidth of 750 kbit/s, If the method of thepresent invention is followed, these time periods and bandwidths are 25s and 400 kbit/s for host 3 a, 21 s and 480 kbit/s for host 3 b and 13 sand 770 kbit/s for host 3 c. This provides an average perceivedbandwidth of 550 kbit/s, although this does not reflect the efficiencygains arising from a reduced network load and reduced duplication oftransmissions.

The perceived average bandwidth in the system of the present inventionfurther increases with respect to the prior system as more hosts areadded to the multicast group. This is demonstrated in Table 1, wheret_(d) indicates the time taken to complete the delivery of the file fromthe time that User 1 submits their request. PBW denotes the bandwidthperceived by the user.

TABLE 1 Present system Time of File Transfer Prior System WaitingRequest Size Rate t_(d) PBW period t_(d) PBW User (s) (Mbit) (Mbit/s)(s) (kbit/s) T (s) (s) (kbit/s) 1 0 10 1 10 1000 15 25 400 2 4 10 1 20625 15 21 476 3 12 10 1 30 556 15 13 769 4 12 10 1 40 357 15 13 769 5 1210 1 50 263 15 13 769 6 13 10 1 60 213 15 12 833 7 13 10 1 70 175 15 12833 8 14 10 1 80 133 15 11 909 9 15 10 1 90 386 15 10 1000

The invention has been described by way of an example and can be usedfor transferring data packets other than IP packets. While apoint-to-multipoint transmission has been described, the invention mayalso be used for multipoint-to-multipoint data transfer. The receiverhosts 3 a-3 c may be fixed or mobile devices, e.g., mobile telephones orpersonal digital assistants (PDAs). It is not necessary for the receiverhosts 3 a-3 c to belong to the same local network or for the location ofthe hosts to be defined in terms of cell coverage.

Furthermore, it is not necessary for the router 6 may transmit data tothe receiver hosts 3 a-3 c using a wireless communication system. Theembodiment described relates to a system comprising a WAN, however, theinvention is equally applicable to LAN networks or any other multicastenabled network and may be used for the transfer of files over networksother than the Internet or a DVB-T network, e.g., over DVB-S(satellite), DVB-C (cable), other DVB variants, Integrated ServicesDigital Broadcasting (ISDB), ATSC Digital Television or Digital AudioBroadcasting (DAB) networks or in multicast-enabled General Packet RadioService (GPRS), Enhanced Data GSM Environment (EDGE), Universal MobileTelecommunications Systems (UMTS) or Wireless Code Division MultipleAccess (W-CDMA) or CDMA2000 systems.

Furthermore, although the described embodiment comprised an edge router6, the invention may be implemented at any network element, e.g., aserver, node or router, along the path between a content provider 2 andreceiver hosts 3 a-3 c.

1. An apparatus comprising: a processor; and a memory storing programinstructions, the memory and the program instructions configured to,with the processor, cause the apparatus at least to perform: a) processdata received from a first host; b) cause transmission of said data toone or more further hosts; c) define a group comprising one or morefurther hosts, wherein a further host is added to the group in responseto reception of a request; d) determine whether a first condition ismet, the first condition being that a number of received requests for afile exceeds a predetermined threshold; e) determine whether a secondcondition is met, the second condition being that a time limit hasexpired; f) repeat d) and e) until either of the first and secondconditions is met, and then to forward the data to said further hosts insaid group, and wherein the processor is configured to limit the groupto further hosts situated at a same location.
 2. An apparatus accordingto claim 1, wherein one or both of the request and the file istransmitted between the apparatus and the first host via a cellularcommunications network and a location of the further host is defined interms of a cell, so that the group is limited to further hosts situatedin an area covered by a single cell.
 3. An apparatus according to claim1, wherein the memory and the program instructions are furtherconfigured to, with the processor, cause the apparatus to forward thefile over a wireless communication network, being a last apparatuslocated before an air-interface in a file delivery path between thefirst host and the one or more further hosts.
 4. An apparatus accordingto claim 1, wherein said apparatus comprises a router.
 5. An apparatusaccording to claim 1, wherein the memory and the program instructionsare further configured to, with the processor, cause the apparatus toreceive requests from the further hosts via a first communication pathand to forward data to the further hosts via a second communicationpath, separate from the first communication path.
 6. An apparatusaccording to claim 5, wherein the first communication path and thesecond communication path comprise separate networks.
 7. A methodcomprising: a) receiving a request for a file from a first host at anetwork element; b) retrieving the file from a second host; c) storingthe file in a cache associated with the network element; d) defining, bythe network element, a group including the first host; e) in response toreceiving further requests for said file by the network element from oneor more other hosts before a period of time expires, adding said one ormore other hosts to the group; f) determining whether a first conditionis met, the first condition being that a number of received requests forthe file exceeds a predetermined threshold; g) determining whether asecond condition is met, the second condition being that a time limithas expired; h) repeating and g) until either of the first and secondconditions is met, and then forwarding the file to the first host and toany other hosts in said group, wherein the group is limited to the firsthost and other hosts situated at a same location as the first host.
 8. Amethod according to claim 7, wherein one or both of the request and thefile is transmitted between the network element and the first host via acellular communications network and another host is considered to be atthe same location as the first host if situated in an area covered by asame cell.
 9. A method according to claim 7, wherein the file isforwarded over a wireless communication network, the network elementbeing a last network element before an air-interface in a file deliverypath between the second host and the first host.
 10. A method accordingto claim 7, wherein the network element comprises a router.
 11. A methodaccording to claim 7, wherein the request is received via a firstcommunications network and the file is forwarded via a secondcommunications network.
 12. A memory storing computer-executableinstructions that, when executed, cause an apparatus at least toperform: a) receiving a request for a file from a first host at theapparatus; b) retrieving the file from a second host; c) storing thefile in a cache associated with the apparatus; d) defining a groupincluding the first host; e) in response to receiving further requestsfor said file by the apparatus from one or more other hosts, adding saidone or more other hosts to the group; f) determining whether a firstcondition is met, the first condition being that a number of receivedrequests for a file exceeds a predetermined threshold; g) determiningwhether a second condition is met, the second condition being that atime limit has expired; h) repeating f) and g) until either of the firstand second conditions is met, and then forwarding the file to the firsthost and to any other hosts in said group, wherein the group is limitedto the first host and other hosts situated at a same location as thefirst host.
 13. The memory according to claim 12, wherein one or both ofthe request and the file is transmitted between the apparatus and thefirst host via a cellular communications network and another host isconsidered to be at the same location as the first host if situated inan area covered by a same cell.
 14. The memory according to claim 12,wherein the file is forwarded over a wireless communication network, theapparatus being a last apparatus before an air-interface in a filedelivery path between the second host and the first host.
 15. The memoryaccording to claim 12, wherein the apparatus comprises a router.
 16. Thememory according to claim 12, wherein the request is received via afirst communications network and the file is forwarded via a secondcommunications network.